const ALL_MODULES = [
  'rest',
  'typeOf',
  'typeVal',
  'isStr',
  'isNum',
  'isBol',
  'isFun',
  'isNul',
  'isUdf',
  'isErr',
  'isDat',
  'isReg',
  'isArr',
  'isObj',
  'array',
  'range',
  'toArr',
  'indexOf',
  'find',
  'filter',
  'reject',
  'contains',
  'drop',
  'flatten',
  'pluck',
  'uniq',
  'forEach',
  'sortBy',
  'len',
  'has',
  'get',
  'set',
  'keys',
  'pick',
  'omit',
  'extend',
  'forIn',
  'deepCopy',
  'isEmpty',
  'isDeepEqual',
  'random',
  'randomId',
  'randomColor',
  'interval',
  'timeout',
  'defer',
  'timestamp',
  'asUtcTime',
  'asXyzTime',
  'fmtDate',
  'fmtUtcDate',
  'fmtXyzDate',
  'match',
  'pretty',
  'escape',
  'unescape',
  'capitalize',
  'fmtCurrency',
  'maskString',
  'cutString',
  'parseQueryStr',
  'stringifyQueryStr',
  'setPattern',
  'getPattern',
  'testPattern',
  'matchPattern',
  'throttle',
  'debounce',
  'printC',
  'logC',
  'copyText',
  'chalk',
  'printS',
  'logS',
  'rd',
  'wt',
  'cp',
  'mv',
  'rm',
  'mk',
  'size',
  'clear',
  'progress',
  'chain',
  'noConflict',
  '_throwErr',
  '_filterBase',
  '_extendBase',
  '_getPaths',
  '_timerBase',
  '_getTimeObj',
  '_dateBase',
  '_fmtDateBase',
  '_patternBase',
];

const CORE_IGNORE = [
  'printC',
  'logC',
  'copyText',
  'chalk',
  'printS',
  'logS',
  'rd',
  'wt',
  'cp',
  'mv',
  'rm',
  'mk',
  'size',
  'clear',
  'progress',
];

const CLIENT_IGNORE = [
  'chalk',
  'printS',
  'logS',
  'rd',
  'wt',
  'cp',
  'mv',
  'rm',
  'mk',
  'size',
  'clear',
  'progress',
];

const SERVER_IGNORE = [
  'printC',
  'logC',
  'copyText',
];

const MINI_IGNORE = [
  'copyText',
  ...CLIENT_IGNORE,
];

module.exports = {
  ALL_MODULES,
  CORE_IGNORE,
  CLIENT_IGNORE,
  SERVER_IGNORE,
  MINI_IGNORE,
};